
import { Injectable } from '@angular/core';
import { ViewModel, NgCommand } from '@farris/devkit';
import { Observable } from 'rxjs';

@Injectable()
export class TreeGridComponentViewmodel extends ViewModel {
    public bindingPath = '/';
    public dom = {};
    @NgCommand({
        name: 'LoadTree1',
        params: {
            filter: '',
            sort: ''
        },
        paramDescriptions: {
            filter: { type: 'string' },
            sort: { type: 'string' }
        }
    })
    public LoadTree1(commandParam?: any): Observable<any> { return; }

    @NgCommand({
        name: 'LoadCard1',
        params: {
        }
    })
    public LoadCard1(commandParam?: any): Observable<any> { return; }

    @NgCommand({
        name: 'AddSibling1',
        params: {
            siblingId: '{DATA~/#{tree-grid-component}/id}',
            transitionAction: 'Create'
        },
        paramDescriptions: {
            siblingId: { type: 'string' },
            transitionAction: { type: 'string' }
        }
    })
    public AddSibling1(commandParam?: any): Observable<any> { return; }

    @NgCommand({
        name: 'AddChild1',
        params: {
            parentId: '{DATA~/#{tree-grid-component}/id}',
            transitionAction: 'Create'
        },
        paramDescriptions: {
            parentId: { type: 'string' },
            transitionAction: { type: 'string' }
        }
    })
    public AddChild1(commandParam?: any): Observable<any> { return; }

    @NgCommand({
        name: 'Remove1',
        params: {
            id: '{DATA~/#{tree-grid-component}/id}',
            successMsg: ''
        },
        paramDescriptions: {
            id: { type: 'string' },
            successMsg: { type: '' }
        }
    })
    public Remove1(commandParam?: any): Observable<any> { return; }

    @NgCommand({
        name: 'treegridcomponentviewmodelloadFullTree1',
        params: {
            virtualPropertyName: 'zjzzfield',
            fullTreeType: '0',
            loadType: '1',
            currentId: '',
            filters: '[{"filterField":"sszz","value":"zijinzz","lbracket":"","rbracket":"","relation":"2","compare":"8","expresstype":0},{"filterField":"sszz","value":"zijinzz","lbracket":"","rbracket":"","relation":"2","compare":"7","expresstype":0},{"filterField":"sszz","value":"zijinzz","lbracket":"","rbracket":"","relation":0,"compare":"6","expresstype":0}]',
            frozenCurrentRow: 'true'
        },
        paramDescriptions: {
            virtualPropertyName: { type: 'string' },
            fullTreeType: { type: 'string' },
            loadType: { type: 'string' },
            currentId: { type: 'string' },
            filters: { type: 'string' },
            frozenCurrentRow: { type: 'string' }
        }
    })
    public treegridcomponentviewmodelloadFullTree1(commandParam?: any): Observable<any> { return; }

    @NgCommand({
        name: 'treegridcomponentviewmodelLoadFullTreeChildren1',
        params: {
            commandName: 'treegridcomponentviewmodelloadFullTree1',
            frameId: 'tree-grid-component'
        },
        paramDescriptions: {
            commandName: { type: 'string' },
            frameId: { type: 'string' }
        }
    })
    public treegridcomponentviewmodelLoadFullTreeChildren1(commandParam?: any): Observable<any> { return; }

}